Enterprise computing environments include individual localized intranetworks interconnected via wide area internetworks or “Internets.” The internetworks can include geographically distributed resources which, when taken as a whole, comprise a unified set of loosely-associated computers. The Internet is an example of a widely used public internetwork that can form part of an enterprise computing environment.
Most enterprise computing environments consist of heterogeneous computing systems, ranging from network appliances and personal computers to mainframes and specialized servers providing access to World Wide Web (“Web”) content, Internet applications, and databases. To promote interoperability among these network components, configuration parameters must be carefully designated and tuned to maximize system performance and minimize areas of potential conflict and concern.
The ability to effectively manage inter-platform configurations is crucial to providing reliable and predictable performance. However, providing configuration management on an inter-platform basis is difficult. Different configurations of hardware, operating system, mid-tier and application software present a combinatoric maze of potential configuration parameter scenarios. Commonly-occurring combinations of inter-platform parameter configurations are often discovered by chance only after time-consuming trial and error.
As an example, a Unix operating system-based database server employing a shared memory model must be configured with a fixed number of buffers, shared memory pool space and processes to allow concurrent operation with multiple database instances. The operating system must also be configured to support an upper bound on shared memory size with a sufficient number of semaphores. The dependent relationships between the operating system configuration parameters and those mandated by the database shared memory model are critical to providing reliable concurrent database operation.
Many software vendors, such as Oracle Corporation, Redwood Shores, Calif., provide certified configurations that guarantee an acceptable level of performance and interoperability. Nevertheless, changes falling outside the bounds of certified configurations can propagate through an enterprise and cause a negative, and often unintentional, effect on dependent systems. Identifying dependent configuration parameter relationships is crucial to enabling impact analyses to be performed prior to effecting actual changes. Validating configuration parameters forms the core of impact analysis.
One problem in managing enterprise environments is the difficulty in checking dependent relationships a priori. The single system paradigm is widely accepted as a sufficient solution. For example, Windows-based environments employ a registry which records the installation of applications and components. The registry aids only individual system configuration management and does not allow the impact of a configuration parameter change be checked against the enterprise. Although dependent relationships may be implicit in the configuration parameter values used, the dependent relationships themselves are not reflected on an inter-platform basis and cannot, therefore, be validated properly.
A further problem in managing enterprise environments is maintaining a consistent definition of “the truth,” that is, the global master schemas for component, parameter, and node resource definitions. A related problem is enforcing the master configuration definitions against individual components operating within the enterprise.
In the prior art, four solutions attempt to provide inter-platform configuration management. These include the Infrastructure Management program, licensed by BMC, Houston, Tex.; Tivoli Business System Manager, licensed by IBM, Armonk, N.Y.; Platinum, licensed by Computer Associates, Islandia, N.Y.; and AutoDBA, licensed by SenWare, Golden, Colo. The Infrastructure Management program is composed of multiple modules which monitor and manage different parts of the infrastructure independent of each other. The Tivoli Business System Manager provides a single point of control for managing groups of applications across nodes and distributed systems. Platinum provides performance and event monitoring with user-defined job automation. AutoDBA utilizes neural networks for learned behavior. Although providing some form of inter-platform configuration management, the forgoing solutions fail to provide dependent relationship and context-based configuration management.
Therefore, there is a need for an approach to providing declarative enterprise-wide configuration validation and management. Preferably, such an approach would provide a configuration management operating from a common entry point on an internetwork and intranetwork basis.
There is a further need for an approach to providing a framework for enabling intra- and inter-platform software integration. Preferably, such an approach would identify and enforce configuration management policies through identified dependent relationships and parameter definitions.